home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga News 95
/
Amiga News 95.iso
/
dpat
/
dpat18
/
xcod
/
xcod_saved_doc
< prev
next >
Wrap
Text File
|
1992-07-07
|
11KB
|
258 lines
\ / \
\/ \
/\ /¯¯ /¯¯\ /¯¯\
/ \ \__ \__/ \__/ \/1.0
Doc Francaise
- - - - - - - - - -
- - - TABLE DES MATIERES - - -
---- - : Cette table des matières
Chap I : Droits d'auteur, etc...
Chap II : Provenance de l'idée, but
Chap III : Matériel utilisé
Chap IV : Utilisation
Chap V : Codage
Chap VI : Source
Chap VII : Bugs
Down = Next page
Up = Last page
Mouse = Exit doc
C H A P I : Droits d'auteurs, etc
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
La distribution à grande échelle de ce programme est fortement encouragée
par l'auteur. De cette façon, il n'y a même pas besoin de le pirater ! Ce
programme est toutefois 'Shareware'; s'il vous est utile, vous devriez payer
la petite contribution demandée de la part de l'auteur.
La contribution vaut 10 Francs suisses. Si quelqu'un me donne l'équivalent
en monnaie étrangère, il aura tout de même droit au prestations que je
propose.
Toute personne payant cette contribution et me laissant son adresse recevra
gratuitement la version suivante de Xcod et tous les programmes que j'écris
pendant 1ans !!
De plus, vous n'êtes pas obligés d'envoyer de l'argent; 8 à 12 disquettes
bon marché, no name ou 4 à 5 disquettes de bonne qualité (Basf, TDK, Maxell)
me font également très plaisir, surtout si elles contiennent quelques
utilitaires du domaine public. Le Ice-Tea est peut-être trop cher à
envoyer...
Ce programme ne doit être en aucun cas vendu, seul le prix de la disquette
contenant ce programme peut-être facturé.
Je remercie CICUREL Raoul pour m'avoir donné quelques bonnes idées pour
mon programme.
Si quelque chose dans ce programme ne vous convient pas, si vous avez des
propositions d'améliorations ou si vous trouvez un bug, n'hésitez pas à
m'écrire un mot. Je vous y répondrais personnellement. Mais sachez que plus
vous me donnez de précisions sur les circonstances d'un bug ou d'un problème
quelquonque, plus grande sera la précision de la réponse et plus il y a de
chances qu'une solution soit trouvée pour la prochaine version.
Voici mon adresse:
BURNAND Patrick
Ch. de la Grangette 16b
1010 Lausanne
Suisse
C H A P II : Provenance de l'idée, but
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
J'ai commencé à programmer en assembleur grâce à un livre intitulé: 'BIEN
DEBUTER EN LANGUAGE MACHINE SUR AMIGA', des éditions Micro-Applications.
''LA BIBLE DE L'AMIGA'' m'a beaucoup aidé. Merci aux auteurs de ces livre.
Il y avait dans un de ces livres un exemple de routine de codage de fichier.
Ce programme était vraiment pour débutants; Il était 50 à 100 fois plus lent
que Xcod (plus lent que si programmé en basic), de plus pendant tout le
codage, les lecteurs de disquettes fonctionnaient. Celui qui avait qu'un
seul lecteur pouvait s'amuser à faire d'immenses parties de grille-pain...
Il présentait de graves lacunes, dont par exemple le fait qu'il ne codait
qu'à 256 possibilités et qu'il n'avait aucun code d'accès...
Depuis ce moment, je n'ai cessé d'améliorer ce programme exemple.
'Xcod' n'a maintenant plus rien à voir avec 'ENCODE', le programme exemple.
J'ai écrit ce programme dans le but de protéger certains de mes fichiers des
regards indiscrets; maintenant, je peux sans crainte laisser mes disquettes
contenant des fichiers secrets dans ma boîte de rangement lorsque quelqu'un
d'autre utilise mon AMIGA. (Tout ce que j'écris au clavier n'est pas du DP!)
De plus, je peux me permettre de perdre une disquette que je devais donner à
un copain ! Je n'ai qu'à lui dire le code.
C H A P III : Matériel utilisé
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- Un ordinateur Amiga 500, 1Mo, 1084S, df0-df1-df2, Action Replay MK I
- Une imprimante Brother_HR-35, avec chargeur automatique
- 3 disqeuttes de sauvegarde pleines et très usées
- Seka_V3.2
- Divers programmes (éditeur de texte, gestion des fichiers, compacteurs)
- Le livre 'BIEN DEBUTER EN LANGUAGE MACHINE'
- Le livre 'LA BIBLE DE L'AMIGA'
- Une calculatrice scientifique Casio-fx82c (très résistante aux chocs)
- Une chaîne Hi-Fi (pour écouter la musique de Imploder 4.0)
- Env. 150 feuilles de papier (papier de récupération, recto-verso)
- Env. 4 stylos à bille (pas encore usés)
- Env. 4.25 Frs de frais d'électricité
- Env. 200 litres d'Ice-Tea de toutes marques
- Env. 6 litres de Pepsi light sans caféine.
C H A P IV : Utilisation
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Pour lancer Xcod, simplement l'appeler par son nom dans le CLI ou le SHELL.
Il est toutefois bon de préciser le chemin d'accès (path).
Xcod n'a besoin d'aucun paramètre.
Xcod n'a besion que de 3 choses pour fonctionner:
- L'option 80 caractères par ligne doit être mise. Si ce n'est pas le cas,
il y a deux solutions:
- Si le fichier "devs/system-configuration" se trouve sur la disquette
de lancement, et qu'elle n'est pas protégée les 'Preferences' seront
modifiées automatiquement pour avoir 80 caractères. Il n'a y ensuite
plus qu'à rebooter. Les autres options de Preferences ne sont pas
modifiées. Ne craignez pas pour votre configuration d'imprimante,
votre superbe pointeur de souris, etc...
- Si ce fichier n'existe pas sur la disquette de lancement, il faudra
le recopier (232 octets) et rebooter ou booter à partir d'une autre
disquette.
- Le fichier "L/Ram-handler" doit se trouver sur la disquette de démarrage.
Sinon, un message apparaîtra lors du codage et le programme se termine.
- Suffisamment de mémoire. En effet, le fichier à coder doit pouvoir être
2 fois entièrement en mémoire + Xcod + Ram-Handler + system-configuration
+ le CLI, etc... Donc, si vous avez 1Mo de Ram et que vous voulez coder
de très grands fichiers (250Ko et plus), évitez le multitâche.
Sachez cependant que sans le multitâche, j'ai pu coder le fichier DpaintIV
(368 Ko) sans problème. C'est le plus grand fichier que je n'ai jamais vu.
Une fois que Xcod est lancé, une fenêtre apparaît avec la présentation du
programme. En appuyant sur le bouton gauche de la souris, on a un menu avec
5 options:
--> Code / Decode a file
Le programme demande d'introduire le nom du fichier à coder/décoder, sans
extension '.Cod'. Les fichiers codés par Xcod portent l'extension '.Cod'.
Ne pas mettre ce suffixe. Ne pas oublier qu'un fichier à décoder doit porter
le suffixe '.Cod', sinon le programme ne pourra pas le loader.
Lors du codage, une fenêtre s'ouvre. Elle sert à entrer le code d'accès.
Ce code sera codé puis écrit dans le fichier à coder à un endroit que je
suis seul à connaître. Ce code peut avoir de 1 à 20 caractères. Si vous ne
voulez pas de code, appuyer simplement RETURN.
Lors du décodage, une fenêtre de même largeur, mais plus petite en hauteur
s'ouvre. Il faut simplement entrer le code mis lors du codage. Si le code
est faux, ' ACCES REFUSE ' clignote longtemps dans la fenêtre, ceci pour
décourager un éventuel voleur de fichiers. Si vous n'aviez pas entré de
code, simplement appuyer RETURN, comme lors du codage.
ATTENTION, MINUSCULES ET MAJUSCULES NE SONT PAS INTERCHANGEABLES !!!
Le codage du fichier proprement dit peut alors commencer. C'est la que vous
pouvez apprécier la rapidité du codage : env. 10 Ko sont codés en 3.5
secondes !!
Une fois le dé/encodage effectué, vous devez introduire le nom du fichier à
sauver. Vous pouvez entrer le même nom du fichier qu'avant, puisque le
programme rajoute le suffixe '.Cod'.
Le programme demande ensuite si vous voulez effacer le fichier source. Il
est conseillé de l'effacer. C'est inutile de coder un fichier si on garde
la source aussi, surtout sur la même disquette !
Pour terminer, en appuyant le bouton gauche de la souris, on accède au menu
principal. Simplicité enfantine ...
--> Read integrated Doc
Cette option sert à afficher la documentation (ce texte). Elle a
l'avantage d'être intégrée au programme. D'où que provienne le programme,
la doc y sera toujours !
--> Save Doc to a file
Cette option sert à sauver la doc intégrée au programme sur disquette. Cela
peut être utile pour l'imprimer, p.ex. Etant donné que toutes les docs
peuvent être imprimées, et que l'intégration de la doc à l'intérieur du
programme ne permet pas de la traiter directement, j'ai programmé cette
option.
La sauvegarde se fera dans 'df0:Xcod_saved_Doc'
--> Exit
Terminer le programme et rendre le contrôle au CLI. (Qui l'eût cru,
Lustucru !)
C H A P V : Codage
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Le système de codage par inversion des bits est toujours en vigueur...
C'est celui-ci que j'ai principalement utilisé.
Je me suis dit alors qu'en codant un fichier 2 fois de suite, on pourrait
facilement lire les données au moyen d'un éditeur de texte. Surtout que le
code d'accès ne conditionne pas le codage. Alors malheureusement, les
petits malins qui ont tous les trucs pour détourner 'la protection de la
protection qui elle-même protège la troisième protection' ont perdu une
occasion d'exercer leurs talents.
Il existe en effet des instructions en language machine de rotation des
bits, et autres. (je ne cite qu'un petit exemple). Alors je me suis bien
amusé ...
Toutefois, il est possible d'approximer le nombre de possibilités de codage.
Je ne suis pas du tout sûr du nombre que je vais vous donner, mais je pense
qu'il est réaliste:
3500
256 ou 256^3500 ou encore 256 puissance 3500
C H A P VI : Source
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
La source de ce programme ne peut malheureusement pas être distribuée, elle
reste d'ailleurs confidentielle. En effet, diffuser la source avec le
programme, ce que j'aimerais bien faire, permettrait à n'importe qui qui a
des notions d'assembleur de contourner le code d'accès, par exemple et de
pouvoir décoder n'importe quel fichier.
Si les codes de ce programme étaient de source publique, il n'aurait plus
aucune valeur.
Je dois garantir aux utilisateurs de ce programme une sécurité maximale.
C H A P VII : Bugs
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Je n'ai remarqué qu'un seul petit problème de fonctionnement à ce programme.
Par exemple, lorsqu'on est en train de coder ou de lire la doc, le fait
d'appuyer une touche du clavier bloque le programme. Si cela devait vous
arriver, simplement appuyer 'RETURN' et tout redevient comme avant. Si ce
n'est pas le cas, il s'agit d'un autre problème qui n'est pas forcément
imputable à Xcod. (Task held...)
BURNAND Patrick